﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Administrador_Relatorio_Compra_Default : System.Web.UI.Page
{
    PetShopService.Relatorio relatorio = new PetShopService.Relatorio();
    PetShopService.UsuarioServicos oUsuarioServicos = new PetShopService.UsuarioServicos();

    protected void Page_Load(object sender, EventArgs e) {

        if (!oUsuarioServicos.isUsuarioAdministrador())
            Response.Redirect("~/default.aspx");

    }

    protected void btnPesquisar_Click(object sender, EventArgs e)
    {
        DateTime dtInicial = Convert.ToDateTime(TxtDataInicial.Text);
        DateTime dtFinal = Convert.ToDateTime(TxtDataFinal.Text);

        List<PetShopService.Compra> listaCompras = relatorio.RetornaCompras(dtInicial, dtFinal);


        PetShopService.ItensCompra produtoMaisVendido = new PetShopService.ItensCompra();
        PetShopService.ItensCompra produtoMenosVendido = new PetShopService.ItensCompra();
        produtoMenosVendido.Quantidade = 1;


        decimal somaVendas = 0;

        foreach (PetShopService.Compra compra in listaCompras)
        {
            foreach (PetShopService.ItensCompra itemCompra in compra.ItensCompra){

                if (itemCompra.Quantidade > produtoMaisVendido.Quantidade)
                    produtoMaisVendido = itemCompra;

                if (itemCompra.Quantidade <= produtoMenosVendido.Quantidade)
                    produtoMenosVendido = itemCompra;

                somaVendas += itemCompra.Preco * itemCompra.Quantidade;
            }
        }

        GVcOMPRAS.DataSource = listaCompras;
        GVcOMPRAS.DataBind();

        lblCompraTotal.Text = "Total das vendas nesse período " + somaVendas.ToString();
        lblMaisComprado.Text = " Produto mais Comprado foi " + produtoMaisVendido.Produto.Nome;
        lblMenosComprado.Text = " Produto menos Comprado foi " + produtoMenosVendido.Produto.Nome;
    }
}